home *** CD-ROM | disk | FTP | other *** search
/ 100 Plus Great Games 2 / 100PLUSV2.BIN / games / BlackHole.dxr / 00060_foundation card.ls < prev    next >
Encoding:
Text File  |  2002-01-25  |  3.2 KB  |  81 lines

  1. on beginSprite me
  2.   global foundation
  3.   foundation = [:]
  4.   foundation.addProp(symbol(string(me.spriteNum)), new(script("tableauobj"), []))
  5.   sprite(me.spriteNum).loc = point((the stageRight - the stageLeft) / 2, (the stageBottom - the stageTop) / 2)
  6.   foundation[symbol(string(me.spriteNum))].cards.add(new(script("card"), me.spriteNum))
  7. end
  8.  
  9. on mouseEnter me
  10.   global equalvalue, hotcard, tableau, foundation
  11.   if (the clickOn <> 0) and (the clickOn <> me.spriteNum) then
  12.     if (sprite(the clickOn).moveableSprite = 1) and (sprite(the clickOn).visible = 1) then
  13.       pp = tableau[symbol(string(sprite(the clickOn).startFrame))].cards.count
  14.       xx = foundation[symbol(string(me.spriteNum))].cards.count
  15.       if (tableau[symbol(string(sprite(the clickOn).startFrame))].cards[pp].rankvalue = (foundation[symbol(string(me.spriteNum))].cards[xx].rankvalue + 1)) or (tableau[symbol(string(sprite(the clickOn).startFrame))].cards[pp].rankvalue = (foundation[symbol(string(me.spriteNum))].cards[xx].rankvalue - 1)) then
  16.         equalvalue = 1
  17.         hotcard = me.spriteNum
  18.       else
  19.         if chars(member(sprite(the clickOn).memberNum).name, 1, 3) = "ace" then
  20.           if chars(member(sprite(me.spriteNum).memberNum).name, 1, 4) = "king" then
  21.             equalvalue = 1
  22.             hotcard = me.spriteNum
  23.           else
  24.             equalvalue = 0
  25.             hotcard = 0
  26.           end if
  27.         else
  28.           if chars(member(sprite(the clickOn).memberNum).name, 1, 4) = "king" then
  29.             if chars(member(sprite(me.spriteNum).memberNum).name, 1, 3) = "ace" then
  30.               equalvalue = 1
  31.               hotcard = me.spriteNum
  32.             else
  33.               equalvalue = 0
  34.               hotcard = 0
  35.             end if
  36.           else
  37.             equalvalue = 0
  38.             hotcard = 0
  39.           end if
  40.         end if
  41.       end if
  42.     end if
  43.   end if
  44.   put equalvalue
  45. end
  46.  
  47. on mouseLeave me
  48.   global hotcard, equalvalue, points, win, tableau, foundation, pootimer
  49.   equalvalue = 0
  50.   hotcard = 0
  51.   if points >= (10 * 51) then
  52.     win = "yes"
  53.     pootimer = timeout("poo").new(100, #gotoit)
  54.     points = points + 1000
  55.   else
  56.     repeat with i = 1 to tableau.count
  57.       if tableau[i].cards.count = 0 then
  58.         tableau.deleteAt(i)
  59.         next repeat
  60.       end if
  61.       if tableau[i].cards[tableau[i].cards.count].rankvalue = (foundation[symbol(string(me.spriteNum))].cards[foundation[symbol(string(me.spriteNum))].cards.count].rankvalue - 1) then
  62.         exit repeat
  63.       end if
  64.       if tableau[i].cards[tableau[i].cards.count].rankvalue = (foundation[symbol(string(me.spriteNum))].cards[foundation[symbol(string(me.spriteNum))].cards.count].rankvalue + 1) then
  65.         exit repeat
  66.       end if
  67.       if (tableau[i].cards[tableau[i].cards.count].rank = "ace") and (foundation[symbol(string(me.spriteNum))].cards[foundation[symbol(string(me.spriteNum))].cards.count].rank = "king") then
  68.         exit repeat
  69.       end if
  70.       if (tableau[i].cards[tableau[i].cards.count].rank = "king") and (foundation[symbol(string(me.spriteNum))].cards[foundation[symbol(string(me.spriteNum))].cards.count].rank = "ace") then
  71.         exit repeat
  72.       end if
  73.       if i <> tableau.count then
  74.         next repeat
  75.       end if
  76.       put "snake"
  77.       pootimer = timeout("poo").new(150, #gotoit)
  78.     end repeat
  79.   end if
  80. end
  81.